home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / NEWSOFT / AUGUST / WORKDISC / !Forthmacs / risc_os / whatis_doc < prev    next >
Text File  |  1997-05-08  |  57KB  |  1,695 lines

  1. !       n addr  --
  2.      Stores a number at addr
  3. !csp       --
  4.      Remembers the stack pointer
  5. ""       -- pstr      ccc
  6.      Collects a word from the input stream
  7. ",       addr len --
  8.      Places a string at the top of the dictionary
  9. ".       pstr --
  10.      Displays a packed string.  Equivalent to COUNT TYPE
  11. "cat       start-pstr end-pstr --
  12.      Appends the packed string at start-pstr to the end of the other one
  13. "compile       pstr --
  14.      Compiles or interprets a word
  15. "copy       from-pstr to-pstr --
  16.      Copies a packed string from from-pstr to to-pstr
  17. "create       pstr --
  18.      Defines a word from a packed string on the stack
  19. "load       filename-pstr --
  20.      Loads the file whose name is the packed string on the stack
  21. "move       pstr1 pstr2 -- pstr2
  22.      Moves a packed string from pstr1 to pstr2
  23. "shell       str -- flag
  24.      Call the Risc OS command line handler and start a shell in case
  25. "task:       size name --
  26.      Create a new task
  27. "temp       -- addr
  28.      Address of a temporary string
  29. #       ud1  --  ud2
  30.      Converts a digit in pictured numeric output
  31. #>       ud  --  addr u
  32.      Ends pictured numeric output
  33. #align       -- n
  34.      The alignment granularity for the cpu; 2 for 68000; 4 for SPARC and ARM
  35. #columns       -- n
  36.      The number of text columns on the screen
  37. #fbufs       -- n
  38.      The number of file buffers
  39. #fds       -- n
  40.      The number of file descriptors available for use by FLOAD
  41. #line       -- addr
  42.      USER variable containing the line number on the output device
  43. #lines       -- n
  44.      The number of text lines on the screen
  45. #out       -- addr
  46.      USER variable containing the column number on the output device
  47. #s       ud1  -- ud2
  48.      Converts the rest of the digits in pictured numeric output
  49. #threads       -- n
  50.      The number of threads used by the dictionary hashing scheme
  51. #tib       -- addr
  52.      Size of Terminal Input Buffer
  53. #times       -- addr
  54.      The number of times to re-interpret command line
  55. #user       -- addr
  56.      The first unused USER area offset
  57. #vocs       -- n
  58.      The number of vocabularies that can be in the search order at one time
  59. '       -- acf      name
  60.      Finds a word in the dictionary
  61. 'tib       -- addr
  62.      USER variable containing the address of the terminal input buffer
  63. 'user       --       name
  64.      Assembles the addressing mode for a User variable
  65. 'user#       -- user#      name
  66.      Finds the USER number associated with the word if there is one
  67. 'word       -- pstr
  68.      The address where WORD puts its packed string
  69. (       --      ccc)
  70.      Begins a comment
  71. (")       -- addr len
  72.      Run-time word compiled by "
  73. ("s)       -- pstr
  74.      Run-time word compiled by [""]
  75. (#lines       -- n
  76.      The number of text lines on the screen
  77. (')       -- acf
  78.      Run-time word compiled by [']
  79. (+loop)       n --
  80.      Run-time word compiled by +LOOP
  81. (.")       --
  82.      Run-time word compiled by ."
  83. (.)       n -- addr len
  84.      Converts a signed number to a character array
  85. (.s       --
  86.      Displays the contents of the data stack
  87. (;code)       --
  88.      Run-time word compiled by ;CODE and DOES>
  89. (?do)       end start --
  90.      Run-time word compiled by ?DO
  91. (?leave)       flag --
  92.      Run-time word compiled by ?LEAVE
  93. (abort       --
  94.      The default implementation of ABORT
  95. (abort")       flag --
  96.      Run-time word compiled by ABORT"
  97. (bye       --
  98.      The Default implementation of BYE
  99. (cd       pathname-pstr -- error?
  100.      Change current directory
  101. (cold-hook       --
  102.      The Default implementation of COLD-HOOK
  103. (create       --      name
  104.      The default implementation of CREATE
  105. (delete       filename-pstr --
  106.      Deletes a file
  107. (do)       end start --
  108.      Run-time word compiled by DO
  109. (emit       char --
  110.      Displays a character
  111. (endcase)       selector --
  112.      Run-time word compiled by ENDCASE
  113. (endof)       --
  114.      Run-time word compiled by ENDOF
  115. (files       match-pstr --
  116.      Displays file names matching pattern
  117. (forget)       acf --
  118.      Reclaims the dictionary space after addr
  119. (interactive?       -- flag
  120.      True if the input stream is interactive
  121. (interpret       --
  122.      The Default implementation of INTERPRET
  123. (is       action-acf deferred-acf --
  124.      Installs a new action in a deferred word
  125. (is)       action-acf --
  126.      Run-time word compiled by IS
  127. (key       -- char
  128.      Used by the default implementation of KEY
  129. (leave)       --
  130.      Run-time word compiled by LEAVE
  131. (literal?       pstr -- pstr false | literal true
  132.      The Default implementation of LITERAL?
  133. (load       fd --
  134.      Loads the file whose file descriptor is fd
  135. (loop)       --
  136.      Run-time word compiled by LOOP
  137. (md       path-pstr -- ?error
  138.      Make a new directory
  139. (more       --
  140.      Display file, pausing at end of screen
  141. (newexpect       addr +n --
  142.      The implementation of EXPECT enabled by the line editor
  143. (number       pstr -- d
  144.      The Default implementation of NUMBER
  145. (of)       selector test -- [selector]
  146.      Run-time word compiled by OF
  147. (patch       new-number old-number acf --
  148.      Substitutes new-number for first instance of old-number after acf
  149. (pause       --
  150.           The multitasking scheduler, installed in pause.
  151. (prompt       --
  152.      The Default implementation of PROMPT
  153. (quit       --
  154.      The Default implementation of QUIT
  155. (rd       path-pstr --
  156.           Delete a directory.
  157. (rename       old-name-pstr new-name-pstr --
  158.      Renames a file
  159. (restart       --
  160.      restart Forthmacs after a hardware crash
  161. (rstrace       end-addr start-addr --
  162.      Displays words nested on the return stack image between end and start
  163. (s       --      stack-comment
  164.      Alternate form of stack comment
  165. (see)       acf --
  166.      Decompiles the word
  167. (set-relocation-bit       addr -- addr
  168.      The Default implementation of SET-RELOCATION-BIT
  169. (size       pattern-pstr --
  170.      Shows the sizes of all files matching pattern-pstr
  171. (tail       --
  172.      Display the end of the file, pausing at end of screen
  173. (type       addr +n --
  174.      A possible implementation of TYPE
  175. (u.)       u -- addr len
  176.      Convert an unsigned number to a character array
  177. (warm-hook       --
  178.      The Default implementation of WARM-HOOK
  179. (where       --
  180.      The Default implementation of WHERE
  181. (word       char -- pstr
  182.      The Default implementation of WORD
  183. *       n1 n2  --  n3
  184.      Multiplies n1 times n2
  185. */       n1 n2 n3  -- n4
  186.      n1*n2/n3
  187. */mod       n1 n2 n3  -- n4 n5
  188.      n4 is remainder, n5 is quotient of n1*n2/n3
  189. +       n1 n2 -- n3
  190.      Adds n1+n2
  191. +!       n|u addr --
  192.      Adds n to the number stored at addr
  193. +bp       adr --
  194.      Adds a breakpoint to the list.
  195. +dis       --
  196.      Continues disassembling from the last stopping point
  197. +fseek       offset fd --
  198.      Changes the position within a file
  199. +loop       n --
  200.      Ends DO .. +LOOP construct; adds n to loop index
  201. +str       pstr -- addr
  202.      Finds the end of the packed string at pstr
  203. ,       n --
  204.      Places a number in the dictionary
  205. ,"       --      ccc"
  206.      Places a string at the top of the dictionary
  207. -       n1 n2 -- n3
  208.      Subtracts n1-n2
  209. --bp       --
  210.      Removes the most-recently-set breakpoint
  211. -bp       adr --
  212.      Removes a breakpoint from the list.
  213. -rot       n1 n2 n3  ---  n3 n1 n2
  214.      Shuffles top 3 stack items
  215. -trailing       addr +n1  --  addr +n2
  216.      Removes trailing spaces
  217. .       n  --
  218.      Displays a number
  219. ."       --      ccc"
  220.      Compiles a string for later display
  221. .(       --      ccc)
  222.      Displays a string immediately
  223. .bp       --
  224.      Displays the breakpoint list.
  225. .breakpoint       --
  226.      Displays the machine state when the system stops at a breakpoint.
  227. .buffers       --
  228.      displays a list of buffers
  229. .calls       acf --
  230.      Shows all the words which call the word acf
  231. .current-word       ip --
  232.      Displays the name of a word given any address within its body
  233. .d       n --
  234.      Displays n in decimal without changing BASE
  235. .date       day month year --
  236.      Displays the date from numbers on the stack
  237. .dir       --
  238.      Prints the current directory name
  239. .disk-free       --
  240.      Shows the number of free bytes on the current drive
  241. .dispose       --
  242.      remove all links into transient address space
  243. .id       anf --
  244.      Displays the name of a word from its name field address
  245. .instruction       --
  246.      Displays the instruction at the current breakpoint address.
  247. .month       month --
  248.      Displays the name of the numbered month
  249. .name       acf --
  250.      Displays the name of a word from its compilation address
  251. .now       --
  252.      Displays the current time
  253. .pointers       --
  254.      displays pointers
  255. .r       n +n --
  256.      Displays a number in a fixed width field
  257. .registers       --
  258.      Displays the CPU registers from the last breakpoint or exception.
  259. .s       --
  260.      Displays the contents of the data stack
  261. .sr       --
  262.      Decodes and displays the contents of the saved Status Register
  263. .stack       --
  264.      Displays the Data Stack saved at the last breakpoint or exception
  265. .step       --
  266.      Displays the machine state when the system stops at a step
  267. .tab       string-length --
  268.      Advances to the next output field
  269. .task       --
  270.          Displays task information
  271. .tasks       --
  272.          Displays tasks
  273. .time       seconds minutes hours --
  274.      Displays the time from numbers on the stack
  275. .today       --
  276.      Displays today's date
  277. .version       --
  278.      Displays the version number of the Forth system
  279. .x       n --
  280.      Displays n in hex without changing BASE
  281. /       n1 n2  --  n3
  282.      Divides n1/n2
  283. /cell       -- n
  284.      The number of bytes in a normal; 4
  285. /char       -- n
  286.      The number of bytes in a character; 1
  287. /fbuf       -- n
  288.      The number of bytes in a file buffer
  289. /fd       -- n
  290.      The number of bytes in a file descriptor
  291. /link       -- n
  292.      The number of bytes in a dictionary link; 4
  293. /mod       n1 n2  --  n3 n4
  294.      n3 is remainder, n4 is quotient of n1/n2
  295. /token       -- n
  296.      The number of bytes in a compiled address; 4
  297. 0<       n  --  flag
  298.      Is n < 0 ?
  299. 0<=       n  --  flag
  300.      True if n is less than or equal to zero
  301. 0<>       n  --  flag
  302.      True if n is not equal to zero
  303. 0=       n  --  flag
  304.      Is n = 0 ?
  305. 0>       n  --  flag
  306.      Is n > 0 ?
  307. 0>=       n  --  flag
  308.      True if n is greater than or equal to zero
  309. 1+       n1  --  n2
  310.      Add 1
  311. 1-       n1  --  n2
  312.      Subtracts 1
  313. 16-bit       --
  314.      Aborts since this isn't a 16-bit system
  315. 16\       --
  316.      Ignores rest of line since this isn't a 16-bit system
  317. 2!       n1 n2 addr --
  318.      Stores 2 numbers at addr
  319. 2*       n1 -- n2
  320.      Multiplies by 2
  321. 2+       n1 -- n2
  322.      Adds 2
  323. 2-       n1 -- n2
  324.      Subtracts 2
  325. 2/       n1 -- n2
  326.      Divides by 2
  327. 2@       addr -- n1 n2
  328.      Fetches 2 numbers from addr
  329. 2constant       n1 n2  --
  330.      Defines a 2-number constant
  331. 2drop       n1 n2  --
  332.      Removes 2 numbers from stack
  333. 2dup       n1 n2 --  n1 n2  n1 n2
  334.      Duplicates 2 numbers
  335. 2literal       -- d
  336.      Compiles a double number
  337. 2over       n1 n2  n3 n4  --  n1 n2  n3 n4 n5 n6
  338.      Copies 2 numbers
  339. 2rot       n1 n2  n3 n4  n5 n6  --  n3 n4  n5 n6  n1 n2
  340.      Rotates 3 pairs of numbers
  341. 2swap       n1 n2  n3 n4  --  n3 n4  n1 n2
  342.      Exchanges 2 pairs of numbers
  343. 2variable       --
  344.      Defines a variable for 2 numbers
  345. 32-bit       --
  346.      Does nothing, since this is a 32-bit system
  347. 32\       --
  348.      Interprets rest of line since this is a 32-bit system
  349. 3dup       a b c -- a b c a b c
  350.      Duplicates 3 stack items
  351. 4*       n1 -- n2
  352.      Multiplies by 4; use /N* instead
  353. 4dup       a b c d -- a b c d a b c d
  354.      Duplicates 4 stack items
  355. 8*       n1 -- n2
  356.      Multiplies by 8
  357. :       -- sys      name
  358.      Starts the compilation of a new colon definition
  359. ;       --
  360.      Finishes the compilation of a colon definition
  361. ;code       --
  362.      Begins assembling the run-time action for CREATE ... ;CODE words
  363. ;code       --
  364.      Begins assembling the run-time action for create ... ;code words
  365. <       n1 n2  --  flag
  366.      Is n1 < n2 ?
  367. <#       --
  368.      Initialises pictured numeric output
  369. <=       n1 n2  --  flag
  370.      True if n1 is less than or equal to n2
  371. <>       n1 n2  --  flag
  372.      True if n1 is not equal to n2
  373. <mark       -- addr
  374.      Remembers target of backward branch
  375. <resolve       addr --
  376.      Finishes a backward branch
  377. =       n1 n2  --  flag
  378.      Is n1 = n2 ?
  379. >       n1 n2  --  flag
  380.      Is n1 > n2 ?
  381. >=       n1 n2  -- flag
  382.      True if n1 is greater than or equal to n2
  383. >body       acf -- apf
  384.      Finds the parameter field address from the compilation address
  385. >data       acf -- addr
  386.      Finds the data storage address for the word at acf
  387. >in       -- addr
  388.      USER Variable containing input stream offset; Implemented in extend.block
  389. >link       acf -- alf
  390.      Finds link field address from compilation address
  391. >mark       -- addr
  392.      Remembers the location of forward branch
  393. >name       acf -- anf
  394.      Finds name field address from compilation address
  395. >number       ud1 addr1 u1 -- ud2 addr2 u2
  396.      converts string addr1/u1 to a number, addr2/u2 tell about unused chars
  397. >r       n --
  398.      Moves a number to the return stack
  399. >relbit       addr -- offset rel-table-addr
  400.      Converts addr to a bit offset and the relocation table address
  401. >resolve       addr --
  402.      Finishes a forward branch
  403. >tab       --
  404.      Advanve the cursor to the next TAB position
  405. >threads       voc-acf -- addr
  406.      Finds the threads for a vocabulary
  407. >type       addr +n --
  408.      Displays characters and stores them at PAD
  409. >user       apf -- user-var-addr
  410.      Finds a USER number that is in the parameter field
  411. >user#       acf -- user#
  412.      Finds the USER number associated with the word if there is one
  413. ?       addr  --
  414.      Displays the contents of a variable
  415. ??cr       --
  416.      New line if not already at left side of line
  417. ?branch       flag --
  418.      High-level conditional branch
  419. ?comp       --
  420.      Aborts if not compiling
  421. ?cr       --
  422.      New line if fewer than no space left on this one
  423. ?csp       --
  424.      Checks stack pointer against value saved by !CSP
  425. ?do       w1 w2 --
  426.      Begins a ?DO .. LOOP to be executed 0 or more times
  427. ?dup       n  --  n n | 0
  428.      Duplicates n if it is non-zero
  429. ?empty       stack -- flag
  430.      True if the user stack is empty
  431. ?enough       n --
  432.      Aborts if the stack contains fewer than n numbers
  433. ?exec       --
  434.      Aborts if not interpreting
  435. ?execute       acf/0 --
  436.      EXECUTE acf if it is not FALSE
  437. ?exit       flag --
  438.      EXIT if the flag is not not FALSE
  439. ?leave       flag --
  440.      Exits from a DO .. LOOP if flag is nonzero
  441. ?line       n --
  442.      New line if fewer than n spaces left on this one
  443. ?missing       flag --
  444.      Aborts if flag is nonzero
  445. ?negate       n1 n2 -- n1 | -n1
  446.      Negates n1 if n2 is less than 0
  447. ?pairs       n1 n2 --
  448.      Aborts if n1 is not equal to n2
  449. ?stack       --
  450.      Aborts if the stack pointer is out of range
  451. ?to-column       length col --
  452.      Advances output to indicated column or starts a new line
  453. @       addr  --  n
  454.      Fetches a number from addr
  455. @execute       addr --
  456.      Executes the word contained in a variable
  457. [       --
  458.      Begins interpreting
  459. [""]       -- pstr      ccc
  460.      Collects a word from the input stream and compiles it as a string
  461. ["]       -- pstr      ccc"
  462.      Collects a string delimited by " from the input stream and compiles it
  463. [']       -- addr      name
  464.      Compiles the compilation address of a word
  465. [char]       -- char      ccc
  466.      Numerical value of first ascii character of next word
  467. [compile]       --      name
  468.      Compiles the next word even if it's immediate
  469. [else]       --
  470.      Conditional useable while interpreting
  471. [if]       [ flag ] --
  472.      Conditional usable while interpreting
  473. [ifdef]       --      name
  474.      Continues interpreting if word is defined
  475. [ifndef]       --      name
  476.      Continues interpreting if word is not defined
  477. [then]       --
  478.      Terminates an interpreted conditional expression
  479. \       --      rest-of-line
  480.      Skips the rest of the line
  481. \dtc       --
  482.      Does nothing
  483. \itc       --
  484.      Ignores the rest of the line
  485. \needs       --      name rest-of-line
  486.      Interprets the rest of the line if needed-word is not already defined
  487. ]       --
  488.      Begins compilation
  489. ]code       -- sys      name
  490.      Stops assembling within a colon definition
  491. ^       --
  492.  
  493. abort       --
  494.      Aborts current execution and interprets keyboard commands
  495. abort"       flag --      ccc"
  496.      Conditional abort with message
  497. abs       n -- u
  498.      Absolute value
  499. access       --      filename attributes
  500.      Set an objects access type
  501. activate       task --
  502.           Activate "task" to run the following code.
  503. addr       --       name
  504.      tells the data address of an object
  505. adr       rx addr --
  506.      ARM Assembler macro
  507. again       --
  508.      Ends a BEGIN .. AGAIN loop
  509. alias       --      new-name existing-name
  510.      Creates a new name for an existing word
  511. align       --
  512.      Makes sure the dictionary pointer is on a machine word boundary
  513. aligned       addr1 -- addr2
  514.      Adjusts an address to a machine word boundary
  515. aligning?       -- addr
  516.      flag, true means assembler does aligning on its own
  517. allocate       nbytes -- addr flag
  518.      Allocates nbytes of memory and return its address and a flag
  519. allot       n --
  520.      Allocates space in the dictionary
  521. also       --
  522.      Extends the search order
  523. alu-instructions       r-dest r-op1 op2{r-op2|imm} --
  524.      Group of CPU instructions with a common syntax
  525. and       n1 n2 -- n3
  526.      Logical and
  527. another?       -- [ anf ] more?
  528.      Selects next word in vocabulary
  529. append-open       name-pstr --
  530.      Opens file for appending
  531. append-to-file       --      filename
  532.      Temporarily redirects output to the end of a file
  533. appending       --      filename
  534.      Opens file for appending
  535. arm-assembler       --
  536.      Switching to the ARM specific assembler vocabulary
  537. arm-assembler       --
  538.      Vocabulary containing assembler words
  539. array       n1 --
  540.      Define an array of n1 cells
  541. asm-allot       n --
  542.      Allocates space in the code dictionary
  543. assembler       --
  544.      Switching to the assembler vocabulary
  545. astring       -- addr
  546.      allocate a temporary string
  547. at-xy       column line --
  548.      Moves the cursor to line,column on the screen
  549. at-xy?       -- column line
  550.      Gets the cursor position in the current terminal
  551. available       -- size
  552.      get the largest available block in heap
  553. backspaces       n --
  554.      Outputs n backspaces
  555. base       --  addr
  556.      USER variable containing number base
  557. beep       --
  558.      Rings the bell
  559. begin       --
  560.      Begins a BEGIN .. WHILE .. REPEAT, BEGIN .. UNTIL or BEGIN AGAIN loop
  561. bell       -- n
  562.      The ascii code for the bell character
  563. between       n min max -- f
  564.      True if min <= n <= max
  565. big-endian       --
  566.      Switches assembler to big-endian target code
  567. binary       --
  568.      Sets the number base to two
  569. bitclear       bit# addr --
  570.      Clears bit number bit# in the array at addr
  571. bitset       bit# addr --
  572.      Sets bit number bit# in the array at addr
  573. bittest       bit# addr -- flag
  574.      True if bit number bit# in the array at addr is set
  575. bl       -- n
  576.      The ascii code for the space character; decimal 32
  577. blank       addr u --
  578.      Sets u bytes of memory to space
  579. blk       -- addr
  580.      USER variable containing input block number; Implemented in extend.block
  581. block       u -- addr
  582.      Gets mass storage block number u; Implemented in extend.block
  583. blword       -- pstr      ccc
  584.      Gets a space-delimited string and return it as a packed string
  585. body>       apf -- acf
  586.      Finds compilation address from parameter field address
  587. bounds       addr1 len -- addr2 addr1
  588.      Converts address and length to endaddr startaddr
  589. bpoff       --
  590.      Removes all breakpoints from the list.
  591. bpon       --
  592.      Installs breakpoints in preparation for beginning execution
  593. branch       --
  594.      High-level unconditional branch
  595. branch       addr --
  596.  
  597. bs       -- n
  598.      The ascii code for the backspace character
  599. buffer       u -- addr
  600.      Gets mass storage buffer number u; Implemented in extend.block
  601. buffer:       n -- addr
  602.      Defines a buffer
  603. bug       --
  604.      Vocabulary containing debugger words
  605. bye       --
  606.      Exits from Forth
  607. byte       --
  608.      modifier for ARM Assembler
  609. c!       n addr --
  610.      Stores a byte at addr
  611. c,       n --
  612.      Places a byte in the dictionary
  613. c;       --
  614.      Finishes an assembly language word and automatically assembles NEXT
  615. c;       --
  616.      Finishes an assembly language word and automatically assembles NEXT
  617. c@       addr -- n
  618.      Fetches a byte from addr
  619. canonical       pstr -- pstr
  620.      Converts a packed string to lower case
  621. caps       -- addr
  622.      USER variable controlling upper case/lower case sensitivity
  623. caps-comp       addr1 len1 addr2 len -- n
  624.      Compares two strings ignoring case.  n is 0 if they are the same
  625. carret       -- n
  626.      The ascii code for the carriage return character
  627. case       selector -- selector
  628.      Begins a CASE ... ENDCASE conditional
  629. catch       i*x xt -- j*x 0 | i*x n
  630.      Execute xt after pushing an exception frame
  631. cd       --      directory
  632.      Changes the current directory
  633. cdis       acf --
  634.      Disassembles the code word at acf
  635. cell+       addr1 -- addr2
  636.      Increases addr1 by one cell.
  637. cells       n1 -- n2
  638.      Calculates the number of n1 cells.
  639. cells+       addr1 n -- addr2
  640.      Increases addr by n cells.
  641. char       -- char      ccc
  642.      Numerical value of first ascii character of next word
  643. char+       addr1 -- addr2
  644.      Increases addr1 by one character.
  645. chars       n1 -- n2
  646.      Calculates the number of n1 characters.
  647. chars+       addr1 n -- addr2
  648.      Increases addr by n characters.
  649. clear       ??? --
  650.      Empties the data stack
  651. clearstack       user-stack --
  652.      Empties a user stack
  653. close-files       --
  654.      Closes all the open files
  655. cmove       addr1 addr2 u --
  656.      Copies u bytes from addr1 to addr2
  657. cmove>       addr1 addr2 u --
  658.      Copies u bytes from addr1 to addr2
  659. cnot       c1 -- c2
  660.      8-bit logical inversion
  661. code       --       name
  662.      Starts the definition of an assembly language word
  663. code       --      name
  664.      Starts the definition of an assembly language word
  665. code[       -- sys      name
  666.      Starts assembling within a colon definition
  667. cold       --
  668.      Initialises the Forth system when it is first started
  669. cold-code       --
  670.      Code executing when booting Forthmacs
  671. cold-hook       --
  672.      Place to install user-defined initialization code
  673. command-completion       --
  674.      Vocabulary containing helper words for the command completion feature
  675. comp       addr1 len1 addr2 len2 -- n
  676.      Compares two strings including case.  n is 0 if they are the same
  677. compare       addr1 u1 addr2 u2 -- n
  678.      Compares two strings, based on CAPS.  n is 0 if they are the same
  679. compile,       acf --
  680.      Compiles an execution token into the dictionary
  681. compile-do-defined       acf n --
  682.      Called to handle a predefined word during compilation
  683. compile-do-dliteral       d --
  684.      Called to handle number during compilation
  685. compile-do-fliteral       f --
  686.      Called to handle floating numbers during compilation
  687. compile-do-literal       n --
  688.      Called to handle number during compilation
  689. compile-do-undefined       pstr --
  690.      Called to handle an undefined word during compilation
  691. conditions       --
  692.  
  693. constant       n --      name
  694.      Defines a constant
  695. context       -- addr
  696.      Array of vocabularies to search
  697. continue       --
  698.      Continues after a breakpoint.
  699. control       -- char      ccc
  700.      Control character number of first character of next word
  701. convert       ud1 addr1  --  ud2 addr2
  702.      Converts a string to a number
  703. copy       --      source-file destination-file
  704.      Copies source-file to destination-file
  705. count       pstr --  addr +n
  706.      Unpacks a packed string
  707. cr       --
  708.      Terminates a line on the display and goes to the next line
  709. crash       --
  710.      Initial action for words defined by DEFER
  711. create       --      name
  712.      Generic defining word
  713. creset       byte-mask addr --
  714.      Clears bits within the byte at addr
  715. csearch       c start-addr end-addr -- loc true | false
  716.      Searches for the byte c between start-addr and end-addr
  717. cset       byte-mask addr --
  718.      Sets bits within the byte at addr
  719. cstart       addr --
  720.      Starts tracer at addr
  721. cstr       pstr -- cstr-addr
  722.      Converts packed string to C string
  723. cstrlen       cstr-addr -- len
  724.      Length of a null-terminated C string
  725. ctoggle       byte-mask addr --
  726.      Inverts the masked bits within the byte at addr
  727. current       -- addr
  728.      Variable containing compilation vocabulary
  729. cursor-off       --
  730.      Turns off the display cursor
  731. cursor-on       --
  732.      Turns on the display cursor
  733. d#       --
  734.      Interprets the next word or number in hex mode
  735. d#       -- ?
  736.      Interprets the next word or number in decimal mode
  737. d+       d1 d2 -- d3
  738.      d3 is the arithmetic sum of d1 plus d2
  739. d-       d1 d2 -- d3
  740.      d3 is the result of subtracting d1 from d2
  741. d.       d --
  742.      Displays a double number
  743. d.r       d +n--
  744.      Displays a double number in a fixed width field
  745. d0<       d -- flag
  746.      flag is true if d is less than zero
  747. d0=       d -- flag
  748.      flag is true if d is zero
  749. d2*       d1 -- d2
  750.      d2 * 2
  751. d2/       d1 -- d2
  752.      d2 / 2
  753. d<       d1 d2 -- flag
  754.      flag is true if d1 is less than d2
  755. d>       d1 d2 -- flag
  756.      flag is true if d1 is greater than d2
  757. dark       --
  758.      Use inverse video for future text, i.e.  white-on-black
  759. debug       --      forth-word"
  760.      Start debugging a forth-level word outside the kernel.
  761. debug-off       --
  762.      The debugger is switched of completely
  763. decimal       --
  764.      Set number base to 10
  765. decr       reg n# --
  766.  
  767. default-task-size       -- size
  768.      A reasonable size for most new tasks
  769. defer       --      name
  770.      Defining word for forward references or execution vectors
  771. defined       -- pstr 0 | acf n      name
  772.      Finds compilation address of word from the input stream
  773. definer       acf -- definer-acf
  774.      Finds the word which defined the word at acf
  775. definitions       --
  776.      Sets compilation vocabulary
  777. del       --      filename
  778.      Deletes a file
  779. delete       --      filename
  780.      Deletes a file
  781. delete-char       --
  782.      Deletes the character under the cursor from the screen
  783. delete-line       --
  784.      Deletes the current line from the screen
  785. delimiter       -- addr
  786.      USER variable containing the actual delimiter found by WORD
  787. depth       -- +n
  788.      How many numbers on stack?
  789. df       --
  790.      Show free space on drive
  791. digit       char base -- digit true | char false
  792.      Converts a character to a digit
  793. dir       --      pattern
  794.      Displays all filenames which match the pattern.
  795. dis       addr --
  796.      Disassembles starting at addr
  797. dispose       --
  798.      remove all links into transient address space
  799. dmax       d1 d2 --d3
  800.      d3 is the greater of d1 and d2
  801. dmin       d1 d2 --d3
  802.      d3 is the lesser of d1 and d2
  803. do       n1 n2 --
  804.      Begins a DO .. LOOP
  805. do-defined       acf n -- ??
  806.      Called to handle a predefined word during interpreting or compilation
  807. do-dliteral       d -- ??
  808.      Called to handle number during interpreting or compilation
  809. do-entercode       --
  810.      Prepares the runtime code part in a create ... ;code  definition
  811. do-fliteral       d -- ??
  812.      Called to handle float numbers during interpreting or compilation
  813. do-literal       d -- ??
  814.      Called to handle number during interpreting or compilation
  815. do-undefined       pstr --
  816.      Called to handle an undefined word during interpreting or compilation
  817. dodoesaddr       -- addr
  818.      Variable containing the address of the dodoes routine
  819. does>       -- addr
  820.      Starts the run-time clause for defining words
  821. dolink       --
  822.      modifier for ARM assemblers BRANCH instruction
  823. double?       -- flag
  824.      True if the number that was just input had a decimal point at the end
  825. down       --
  826.      Moves the cursor down one line
  827. dp       -- addr
  828.      User variable holding top of dictionary
  829. dpl       -- addr
  830.      Variable containing the position of the decimal point in last number input
  831. drop       n --
  832.      Removes n from the stack
  833. dst?       -- flag
  834.      True if daylight savings time
  835. du       addr -- addr+64
  836.      Displays 64 bytes of memory starting at addr
  837. du.       ud --
  838.      Displays an unsigned double number
  839. du.r       ud +n--
  840.      Displays an unsigned double number in a fixed width field
  841. du<       ud1 ud2 -- flag
  842.      flag is true if and only if ud1 is less than ud2
  843. dump       addr len --
  844.      Displays len bytes of memory starting at addr
  845. dup       n -- n n
  846.      Duplicates n.
  847. editor       --
  848.      Not Implemented
  849. else       --
  850.      Executes the following code if IF failed
  851. emit       char --
  852.      Displays the character
  853. emit1       char --
  854.      The Default implementation of EMIT
  855. empty-buffers       --
  856.      Unassigns all block buffers; Implemented in extend.block
  857. end-code       --
  858.      Ends an assembly language definition without assembling NEXT
  859. end-code       --
  860.      Ends an assembly language definition without assembling NEXT
  861. end-string-array       --
  862.      Finishes the definition of a string array
  863. endcase       selector --
  864.      Terminates a CASE ... ENDCASE conditional
  865. endof       --
  866.      Terminates an OF ... ENDOF clause within a CASE ... ENDCASE conditional
  867. entercode       --
  868.      Start assembling at once
  869. entry       -- addr
  870.      USER variable used to implement multitasking
  871. env-area       -- addr
  872.      Pointer to Forthmacs module memory
  873. environment?       c-addr u -- false | i*x true
  874.      looks for environment data
  875. eof       -- n
  876.      Value returned by FGETC upon end of file
  877. eof?       -- flag
  878.      Flag is true when end-of-file is reached
  879. erase       addr u --
  880.      Sets u bytes of memory to 0
  881. erase-screen       --
  882.      Clears the screen
  883. errno       -- addr
  884.      USER variable holding the last error id
  885. error-output       --
  886.      Selects the error output stream
  887. evaluate       addr len --
  888.      Interpret from a string
  889. even       n1 -- n2
  890.      Adjusts a number to make it even.  n2 >= n1
  891. except       --      vocabulary
  892.      Removes vocabulary from the search list
  893. exec       --      program-filename command-tail
  894.      Executes a program or obey file
  895. execute       acf --
  896.      Executes the word whose compilation address is on the stack
  897. exit       --
  898.      Returns from the current word
  899. exit?       -- flag
  900.      True if the user wants the output to be terminated
  901. expect       addr +n --
  902.      Gets a line of input from the keyboard and stores it at addr
  903. false       -- 0
  904.      The value FALSE, which is 0
  905. fclear       ??? --
  906.      Empties the floating stack
  907. fclose       fd --
  908.      Closes a file
  909. fcount       --      pattern
  910.      counts number of files and their length
  911. fence       -- addr
  912.      USER variable containing the maximum FORGETable address
  913. fexit       --
  914.      Ignores the rest of the current input file
  915. fflush       fd --
  916.      Writes out buffered bytes to file
  917. fgetc       fd -- byte
  918.      Reads a byte from a file
  919. fgetline       addr fd -- addr true | false
  920.      Reads a line from a file, false if file at EOF
  921. fgets       addr count fd -- nread
  922.      Reads a string from a file
  923. fgettill       pstr delim fd -- pstr
  924.      Reads a delimited string from a file
  925. fgetword       pstr fd -- pstr
  926.      Read a space-delimited string from a file
  927. file!       byte addr fd --
  928.      Writes a byte to a file
  929. file-exists?       name-pstr -- flag
  930.      True if the named file already exists
  931. file-protection       -- addr
  932.      Variable containing the attributes for newly-created files
  933. file@       addr fd -- byte
  934.      Reads a byte from a file
  935. files       --      pattern
  936.      Lists all objects in a directory
  937. fill       addr u byte  --
  938.      Sets u bytes of memory to byte
  939. find       pstr -- addr n
  940.      Finds a word in the dictionary
  941. flip       w1 -- w2
  942.      Swaps the bytes within a 16-bit word
  943. fload       --      filename
  944.      Interprets a file
  945. flush       --
  946.      Saves the contents of mass storage buffers; Implemented in extend.block
  947. flush-cache       --
  948.      Flushes the CPU cache
  949. fm/mod       d.dividend divisor -- rem quot
  950.      floored division ; normal remainder/quotient
  951. follow       voc-acf --
  952.      Prepares to scan a vocabulary; see ANOTHER?
  953. fopen       filename-pstr mode -- fd
  954.      Opens a file
  955. forget       --      name
  956.      Removes word from dictionary
  957. fork       task-apf --
  958.      obsolete!
  959. forth       --
  960.      The main vocabulary
  961. fp!       addr --
  962.      Changes the floating stack pointer
  963. fp0       --  addr
  964.      User variable containing the address of the bottom of the floating point stack
  965. fp@       addr --
  966.      Reads the floating stack pointer
  967. fputc       byte fd --
  968.      Writes a byte to a file
  969. fputs       addr count fd --
  970.      Writes a string to a file
  971. free       addr -- flag
  972.      Frees a memory block allocated by ALLOCATE
  973. fseek       addr fd --
  974.      Sets the position within a file
  975. fseek-from-end       offset fd --
  976.      Sets position relative to the end of a file
  977. fsize       fd -- size
  978.      Finds the size of a file
  979. fskiptill       char fd --
  980.      Skips past the next occurrence of char in the file fd
  981. fstr       cstr-addr -- pstr
  982.      Converts a C string to a packed string
  983. ftell       fd -- addr
  984.      Finds the current position within a file
  985. ftrace       --
  986.      Display the return stack after a crash
  987. get-cursor-status       -- n
  988.      Gets the cursor-status
  989. get-link       -- reg --
  990.      ARM assembler macro
  991. get-ticks       -- n
  992.      Get the ticker increasing every MS/TICK mseconds.
  993. getenv       fstr -- fstr/0
  994.      find out the RISC OS system variable fstr. FALSE if not found
  995. go       --
  996.      Continues after a breakpoint.
  997. h#       -- ?
  998.      Interprets the next word or number in hex mode
  999. handle-address       --
  1000.      Handler for address-error interrupts
  1001. handle-breakpoint       --
  1002.      handler for OS_Breakpt
  1003. handle-data       --
  1004.       handler for data access errors
  1005. handle-div0       --
  1006.      handler for divide by zero errors
  1007. handle-error       --
  1008.      handler for user defined errors
  1009. handle-escape       --
  1010.      handler for escape conditions
  1011. handle-prefetch       --
  1012.      handler for prefetch MMU errors
  1013. headerless       --
  1014.      the following definitions will be headerless
  1015. headers       --
  1016.      include headers in definitions, default
  1017. here       -- addr
  1018.      Address of top of dictionary
  1019. hex       --
  1020.      Sets the number base to 16
  1021. hidden       --
  1022.      Vocabulary containing words used only to implement other words
  1023. hide       --
  1024.      Makes the most recent word invisible
  1025. history-expect       addr +n --
  1026.      The Default implementation of EXPECT
  1027. hold       char  --
  1028.      Inserts the char in the pictured numeric output string
  1029. hop       --
  1030.      Single steps at a single subroutine nesting level
  1031. hops       n --
  1032.      Executes HOP n time
  1033. i       -- n
  1034.      Loop index
  1035. if       flag --
  1036.      Executes following code if flag is true
  1037. ifd       -- addr
  1038.      Variable for input file descriptor
  1039. immediate       --
  1040.      Marks the last word as immediate
  1041. immediate?       acf -- flag
  1042.      True if word is immediate
  1043. incr       reg n# --
  1044.  
  1045. init-relocation       --
  1046.      Initialises the relocation table
  1047. init-user       --
  1048.      Initialises the USER area at startup time
  1049. input-file       -- addr
  1050.      User Variable containing the file descriptor of the interpreter input stream
  1051. insert-line       --
  1052.      Inserts a new line on the screen at the cursor position
  1053. interactive?       -- flag
  1054.      True if the input stream is coming from the keyboard
  1055. interpret       --
  1056.      Interprets the input stream
  1057. interpret-do-defined       acf n -- ??
  1058.      Called to handle a predefined word during interpreting
  1059. interpret-do-dliteral       d -- d
  1060.      Called to handle number during interpreting
  1061. interpret-do-fliteral       d -- d
  1062.      Called to handle float number during interpreting
  1063. interpret-do-literal       n -- n
  1064.      Called to handle number during interpreting
  1065. interpret-do-undefined       pstr --
  1066.      Called to handle an undefined word during interpreting
  1067. invert       n1 -- n2
  1068.      One's complement
  1069. ip       -- n
  1070.      portable name for the instruction pointer
  1071. is       action-acf --      name
  1072.      Installs a new action in a DEFER word
  1073. j       -- n
  1074.      Loop index for next enclosing loop
  1075. k       -- n
  1076.      Loop index for second enclosing loop
  1077. key       -- char
  1078.      Reads a character from the keyboard
  1079. key1       -- char
  1080.      The default implementation of KEY
  1081. key?       -- flag
  1082.      True if a key has been typed on the keyboard
  1083. keys-forth       --
  1084.      Vocabulary containing keystroke definitions for the command line editor
  1085. kill-line       --
  1086.      Clears the current line to the right of the cursor
  1087. kill-screen       --
  1088.      Clears the screen from the cursor position onward
  1089. l>name       alf -- anf
  1090.      Finds the name field address from link field address
  1091. label       --       name
  1092.      Begins the creation of a sequence of assembly language instructions
  1093. label       --      name
  1094.      Begins the creation of a sequence of assembly language instructions
  1095. last       -- addr
  1096.      USER variable containing the name field address of the last word created
  1097. lastacf       -- acf
  1098.      The compilation address of the last word created
  1099. lcc       char -- lower-case-char
  1100.      Converts char to lower case
  1101. ldm       rx1 rx2 .. rxn  n#  r-adr --
  1102.      ARM assembler instruction
  1103. ldr       r-data r-adr operand2 --
  1104.      ARM assembler instruction
  1105. leave       --
  1106.      Exit from DO .. LOOP
  1107. left       --
  1108.      Moves the cursor left one column
  1109. light       --
  1110.      Use normal video for future text, i.e. black-on-white
  1111. limit       -- addr
  1112.      Value pointing to the high end of the dictionary space
  1113. linefeed       -- n
  1114.      The ascii code for the line feed character
  1115. link       -- addr
  1116.      USER variable containing the address of the next task
  1117. link!       link addr --
  1118.      Stores a dictionary link
  1119. link,       link --
  1120.      Places a link in the dictionary
  1121. link>       alf -- acf
  1122.      Finds compilation address from link field address
  1123. link@       alf -- link
  1124.      Fetches a dictionary link
  1125. list       u  --
  1126.      Displays the contents of a mass storage block. Implemented in extend.block
  1127. literal       -- n
  1128.      Compiles a number
  1129. literal?       pstr -- pstr false | n true
  1130.      Is the packed string a number?
  1131. little-endian       --
  1132.      Switches assembler to little-endian target code
  1133. ll       --      objpattern
  1134.      Lists file information about objpattern
  1135. lmargin       -- addr
  1136.      Variable containing left margin for output formatting
  1137. load       u --
  1138.      Interprets a mass storage block; Implemented in extend.block
  1139. lobyte       n -- c
  1140.      Masks off high bits, leaving the least-significant byte
  1141. local       task user-variable -- adr
  1142.      Find an address within another task
  1143. locals|       ??? xxx yyy ... zzz -- ???
  1144.      Defines up to 30 local variables, variable list ends with |
  1145. loop       --
  1146.      End of DO .. LOOP
  1147. lose       --
  1148.      Compiled in place of an undefined word; aborts
  1149. lower       addr len --
  1150.      Converts a character array to lower case
  1151. ls       --      pattern
  1152.      Lists all objects in a directory
  1153. lshift       n1 cnt -- n2
  1154.      Left shifts n1 by count places
  1155. lwsplit       n -- w.low w.high
  1156.      Split a cell into two words
  1157. m*       n1 n2 -- d
  1158.      32 bits times 32 bits signed multiply, result has 64 bits
  1159. m*/       d1 n1 2 -- d2
  1160.      As */ but first parameter is double
  1161. m+       d1 n -- d2
  1162.      n is added to the double d1 giving a double result
  1163. m/mod       d.dividend n.divisor -- n.rem n.quot
  1164.      Signed 32/ ; normal remainder/quotient
  1165. main-heap       -- addr
  1166.      The address of the heap
  1167. main-task       -- addr
  1168.      The address of the USER area for the initial task
  1169. main-task       -- task
  1170.      The task that normally runs the Forth interpreter
  1171. make       pstr -- flag
  1172.      Create a file.  Flag is true if the operation succeeded
  1173. many       --
  1174.      Re-interpret this command line until a key is typed
  1175. marked       --
  1176.      Use marked video for future text, i.e.  red-on-white
  1177. max       n1 n2  --  n3
  1178.      n3 is maximum of n1 and n2
  1179. max-image       -- size
  1180.      The size in bytes of the maximum dictionary that may be relocated
  1181. md       --      directory
  1182.      Makes a new directory
  1183. min       n1 n2  --  n3
  1184.      n3 is minimum of n1 and n2
  1185. mkdir       --      directory
  1186.      Makes a new directory
  1187. mla       r-dest r-op1 r-op2 r-add
  1188.  
  1189. mod       n1 n2  -- n3
  1190.      Remainder of n1/n2
  1191. modify       -- n
  1192.      The number signifying to FOPEN that the file is to be read and written
  1193. more       --      filename
  1194.      Displays the contents of the file, pausing after each page
  1195. move       addr1 addr2 u --
  1196.      Copies u bytes from addr1 to addr2
  1197. ms       n --
  1198.           Wait for n msec
  1199. ms/tick       -- n
  1200.      milliseconds per tick
  1201. mu/mod       ud n -- n.rem ud.quot
  1202.      Divides double by normal giving normal remainder and double quotient
  1203. mul       r-dest r-op1 r-op2
  1204.  
  1205. multi       --
  1206.      Enables multitasking
  1207. mv       --      old-filename new-filename
  1208.      Changes the name of old-filename to new-filename
  1209. n>link       anf -- alf
  1210.      Finds link field from name field
  1211. name>       anf -- acf
  1212.      Finds compilation address from name field
  1213. needs       --      name filename
  1214.      Loads file if name is not already defined
  1215. negate       n1 -- n2
  1216.      Changes the sign of n1
  1217. new-file       filename-pstr --
  1218.      Creates a new file and opens it for writing, descriptor in OFD
  1219. newline       -- char
  1220.      The character which terminates a line
  1221. next       --
  1222.      ARM Assembler macro, assembles the Forth address interpreter code
  1223. nip       n1 n2 -- n2
  1224.      Discards the second element from the data stack
  1225. noop       --
  1226.      Does nothing
  1227. nop       --
  1228.  
  1229. not       n1 -- n2
  1230.      One's complement
  1231. now       -- seconds minutes hours
  1232.      The current time of day
  1233. npatch       --      replacement-number old-number word-to-patch
  1234.      Substitute replacement for old in word-to-patch
  1235. nullstring       -- pstr
  1236.      A packed string containing no bytes
  1237. number       pstr -- d
  1238.      Converts a packed string to a double number or aborts
  1239. number?       pstr -- d flag
  1240.      Converts a packed string to a number
  1241. nuser       --      name
  1242.      Defines and allocates space for a USER variable
  1243. octal       --
  1244.      Sets the number base to eight
  1245. of       selector test-value --
  1246.      Begins an OF ... ENDOF clause within a CASE ... ENDCASE conditional
  1247. ofd       -- addr
  1248.      Variable for output file descriptor
  1249. off       addr  --
  1250.      Stores false at addr
  1251. ok       --
  1252.      Does nothing
  1253. on       addr  --
  1254.      Stores true at addr
  1255. only       --
  1256.      Sets the minimum search order
  1257. open-error       filename --
  1258.      Handle an open-file error condition
  1259. or       n1 n2 -- n3
  1260.      Logical or
  1261. order       --
  1262.      Displays the vocabulary search order
  1263. origin       -- addr
  1264.      The address of the start of the Forth system
  1265. over       n1 n2  --  n1 n2 n3
  1266.      n3 is a copy of n1.
  1267. over-vocabulary       action-acf voc-acf --
  1268.      Scans a vocabulary executing action-acf for each word
  1269. p"       -- pstr      ccc"
  1270.      Collects a string from the input stream, storing it as a packed string
  1271. pack       addr len pstr -- pstr
  1272.      Makes a packed string from addr len, placing it at pstr
  1273. pad       --  addr
  1274.      The address of a scratch area used to temporary storage
  1275. patch       --      replacement-word old-word word-to-patch
  1276.      Substitute replacement for old in word-to-patch
  1277. pause       --
  1278.      Gives other tasks a chance to run
  1279. pause       --
  1280.      Give other tasks a chance to run
  1281. pc       -- n
  1282.      portable name for the pc register
  1283. pc       -- n
  1284.      The Program Counter saved at the last breakpoint/exception.
  1285. pcr       addr -- pc offset
  1286.      ARM assembler macro
  1287. perform       addr-of-acf --
  1288.      Executes the word contained in a variable
  1289. pick       +n  --  n2
  1290.      Copies n-th number
  1291. place       addr len pstr --
  1292.      Makes a packed string from addr len, placing it at pstr
  1293. pointer       addr --      name
  1294.      Defines a pointer
  1295. pop       user-stack -- n
  1296.      Pops a number off a user stack
  1297. postpone       --      name
  1298.      Append the compilation semantics of name to the current definition
  1299. previous       --
  1300.      Removes the CONTEXT vocabulary from the search order
  1301. printable?       char -- flag
  1302.      True if character is printable
  1303. prompt       --
  1304.      Displays a prompt on the screen
  1305. protect       addr -- flag
  1306.      Protects an allocated block of memory
  1307. ps-size       -- n
  1308.      The maximum size of the data stack in bytes
  1309. psr       -- n
  1310.      The Status Register saved at the last breakpoint.
  1311. push       n user-stack --
  1312.      Pushes a number on a user stack
  1313. pwd       --
  1314.      Displays the name of the current directory
  1315. quit       --
  1316.      Interprets keyboard commands
  1317. r0       -- n
  1318.      Register r0 saved at the last breakpoint
  1319. r>       -- n
  1320.      Moves a number from the return stack to the data stack
  1321. r@       -- n
  1322.      Copies the top of the return stack to the data stack
  1323. rd       --      directory
  1324.      Deletes a directory
  1325. read       -- n
  1326.      The number signifying to FOPEN that the file is to be opened for reading
  1327. read-open       filename-pstr --
  1328.      Opens the file for reading, storing its file descriptor in IFD
  1329. reading       --      filename
  1330.      Opens the file for reading, storing its file descriptor in IFD
  1331. recurse       -
  1332.      calls the word being defined recursively
  1333. recursive       --
  1334.      Allows a word being defined to call itself recursively
  1335. registers       -- addr
  1336.      address of buffer holding registers after crashing
  1337. relocation-map       -- addr
  1338.      The address of the relocation table
  1339. rename       --      old-filename  new-filename
  1340.      Changes the name of old-filename to new-filename
  1341. repeat       --
  1342.      Ends a BEGIN .. WHILE .. REPEAT loop
  1343. resident       --
  1344.           switch here to resident address space
  1345. resize       addr1 nbytes -- addr2 flag
  1346.      resize the memory block at addr1 to n bytes, returns addr2 and a flag
  1347. restore-output       --
  1348.      Goes back to the old output stream after ERROR-OUTPUT
  1349. return       --
  1350.  
  1351. reveal       --
  1352.      Makes the most recent word visible
  1353. right       --
  1354.      Moves the cursor right one column
  1355. rm       --      filename
  1356.      Deletes a file
  1357. rmargin       -- addr
  1358.      Variable containing right margin for output formatting
  1359. rmdir       --      directory
  1360.      Deletes a directory
  1361. roll       +n  --
  1362.      Rotates +n numbers
  1363. root       --
  1364.      The vocabulary selected by ONLY
  1365. rot       n1 n2 n3  ---  n2 n3 n1
  1366.      Rotates 3 numbers
  1367. rp       -- n
  1368.      portable name for the return stack pointer
  1369. rp!       addr --
  1370.      Changes the return stack pointer
  1371. rp0       -- addr
  1372.      A variable containing the address of the bottom of the return stack
  1373. rp@       -- addr
  1374.      The address of the top of the return stack
  1375. rs-size       -- n
  1376.      The maximum size of the return stack in bytes
  1377. rshift       n1 cnt -- n2
  1378.      Rights shift count n1 by places
  1379. rstrace       --
  1380.      Displays the words nested on the return stack
  1381. s       --
  1382.  
  1383. s"       -- addr len      ccc"
  1384.      Collects a string from the input stream
  1385. s.       n --
  1386.      Displays n as a signed number
  1387. s>d       n -- d
  1388.      converts a cell number to a double
  1389. save-buffers       --
  1390.      Saves the contents of mass storage buffers; Implemented in extend.block
  1391. save-forth       filename-pstr --
  1392.      Saves an executable Forth image
  1393. save-string       pstr1 -- pstr2
  1394.      Moves a string somewhere else
  1395. saved-ip       -- addr
  1396.      USER variable containing the interpreter pointer for an inactive task
  1397. saved-rp       -- addr
  1398.      USER variable containing the return stack pointer for an inactive task
  1399. saved-sp       -- addr
  1400.      USER variable containing the stack pointer for an inactive task
  1401. scr       --  addr
  1402.      Variable with the number of last block LISTED; Implemented in extend.block
  1403. sdepth       user-stack -- depth
  1404.      The number of items on a user stack
  1405. seal       --
  1406.      Restricts the search order
  1407. search       n start end -- loc true | false
  1408.      Searches for n between start-addr and end-addr
  1409. see       --      name
  1410.      Decompiles the named word
  1411. set-cursor-status       n --
  1412.      Sets the cursor-status
  1413. set-relocation-bit       addr -- addr
  1414.      Sets the relocation bit corresponding to the address addr
  1415. set-task       ip task --
  1416.      Activate a task with its ip starting at ip
  1417. settype       --      filename filetype
  1418.      Set an objects filetype
  1419. sh       --      program-filename command-tail
  1420.      Executes a program or obey file
  1421. sh[       --      program-filename command-tail]
  1422.      Executes a program or obey file
  1423. showcrash       --
  1424.      Displays the machine state saved from the last crash
  1425. showcrash       --
  1426.      Displays all the saved information at the last breakpoint
  1427. sift       pstr --
  1428.      Finds all words which contain pstr as part of their name
  1429. sifting       --      ccc
  1430.      Finds all words which contain  ccc as part of their name
  1431. sign       n  --
  1432.      Sets sign of pictured output
  1433. sindex       addr1 len1 addr2 len2 -- n
  1434.      Finds the offset within array 2 where array 1 first occurs
  1435. single       --
  1436.      Turns off multitasking
  1437. single       --
  1438.      Disables multitasking
  1439. size       --      pattern
  1440.      Shows the sizes of the files matching pattern
  1441. skip       --
  1442.      Continues after a trap instruction, skipping that instruction
  1443. skipstr       -- addr len
  1444.      Used to implement words with in-line character arrays
  1445. sleep       task --
  1446.      Make another task stop running
  1447. sm/rem       d.dividend divisor -- rem quot
  1448.      symmetric division ; normal remainder/quotient
  1449. sp       -- n
  1450.      portable name for the stack pointer
  1451. sp       -- n
  1452.      Stack Pointer saved at the last breakpoint or exception
  1453. sp!       addr --
  1454.      Changes the data stack pointer
  1455. sp0       --  addr
  1456.      Variable containing the address of the bottom of the data stack
  1457. sp@       -- addr
  1458.      The address of the top of the data stack
  1459. space       --
  1460.      Displays a space character
  1461. spaces       +n  --
  1462.      Displays n spaces
  1463. span       -- addr
  1464.      Variable containing the number of characters read by EXPECT
  1465. stack:       #bytes --      name
  1466.      Defines a user stack with #bytes of storage space
  1467. start       acf task --
  1468.      Activate a task running acf
  1469. state       -- addr
  1470.      Variable that is nonzero in compile state
  1471. status       --
  1472.      User-settable action to be performed before prompting for input
  1473. step       --
  1474.      Single steps, executing the next assembly language instruction.
  1475. steps       n --
  1476.      Single steps, executing the next n assembly language instructions.
  1477. stm       rx1 rx2 .. rxn  n#  r-adr --
  1478.      ARM Assembler instruction
  1479. stop       --
  1480.      Make the current task stop running
  1481. str       r-data r-adr operand2 --
  1482.      ARM assembler instruction
  1483. string-array       --      name
  1484.      Begins the definition of a string array
  1485. string-fopen       addr len -- fd
  1486.      Opens a file for a memory string
  1487. substring?       addr1 len1 addr2 len2 -- flag
  1488.      True if string1 is a substring of string22
  1489. swap       n1 n2  --  n2 n1
  1490.      Exchanges the top 2 stack entries.
  1491. swi       swi# --
  1492.  
  1493. swix       swi# --
  1494.  
  1495. swp       r-dest r-base r-source --
  1496.  
  1497. sync-cache       high-adr lo-adr --
  1498.      Flushes the CPU cache and synchronizes code in a specific address space
  1499. sys-(key?       -- flag
  1500.      The Default implementation of KEY?
  1501. sys-cr       --
  1502.      Outputs a carriage return & linefeed; adjusts #LINE & #OUT
  1503. sys-emit       char --
  1504.      Displays the character
  1505. sys-expect       addr +n --
  1506.      Simple implementation of EXPECT
  1507. sys-key       -- char
  1508.      The Default implementation of KEY
  1509. sys-type       addr +n --
  1510.      The Default implementation of TYPE
  1511. syscall:       n --       name  { p1 p2 -- r1 r2 }
  1512.      defines a function name calling swi n, symbolic parameters follow
  1513. system       --
  1514.      Vocabulary containing operating system interface words
  1515. t       --
  1516.  
  1517. tabstops       -- addr
  1518.      Variable containing distance between output fields
  1519. tail       --      filename
  1520.      Displays the last 1000 bytes of the file
  1521. task-ps-size       -- u
  1522.      A good size for the parameter stack for a new task
  1523. task-rs-size       -- u
  1524.      A good size for the return stack for a new task
  1525. task:       --       name
  1526.      Create a new task
  1527. terminal:       --       terminal-name
  1528.      Define a terminal
  1529. then       --
  1530.      Terminates an IF ... ELSE ... THEN
  1531. throw       k*x n -- k*x | i*x n
  1532.      If n is <>0 pop the exception frame and continue after the corresponding throw
  1533. tib       -- addr
  1534.      The address of the Text Input Buffer
  1535. time-zone       -- minutes-west-of-GMT
  1536.      The local time zone
  1537. times       n --
  1538.      Re-interprets the command line n times
  1539. title       --
  1540.      Displays the name and version of the Forth system
  1541. to       obj/n --       name
  1542.      "write" object-data to an object or
  1543. to-column       column --
  1544.      Advances the output to the indicated column
  1545. to-current       --       word
  1546.      Put word into current
  1547. to-file       --      filename
  1548.      Temporarily redirects output to a file
  1549. today       -- day month year
  1550.      Today's date
  1551. toggle       addr byte-mask --
  1552.      Inverts the masked bits within the byte at addr
  1553. token!       addr2 addr1 --
  1554.      Stores a relocatable address at addr1
  1555. token,       addr --
  1556.      Places a relocatable address in the dictionary
  1557. token@       addr1 -- addr2
  1558.      Fetches a relocatable address
  1559. top       -- n
  1560.      portable name for the top of stack register
  1561. top!       n user-stack --
  1562.      Replaces the top number on a user stack
  1563. top@       user-stack -- n
  1564.      Gets the top number from a user stack without popping it
  1565. trace       --       name
  1566.      Start tracing a primitive
  1567. transient       --
  1568.           switch here to transient address space
  1569. true       -- -1
  1570.      The value true, which is -1
  1571. tsearch       addr start end -- loc true | false
  1572.      Searches for address addr between start-addr and end-addr
  1573. tuck       n1 n2 -- n2 n1 n2
  1574.      Copies the top of the stack underneath the second item
  1575. tuser       --      name
  1576.      Defines and allocate space for a USER variable to contain an address
  1577. type       addr +n --
  1578.      Displays n characters
  1579. type1       addr +n --
  1580.      The Default implementation of TYPE
  1581. u*       u1 u2 -- u3
  1582.      Unsigned u1*u2
  1583. u.       u --
  1584.      Displays an unsigned number
  1585. u.r       u +n --
  1586.      Prints an unsigned number in fixed width field
  1587. u2/       u1 -- u2
  1588.      Logical right shift
  1589. u<       u1 u2  --  flag
  1590.      Unsigned version of < .
  1591. u<=       u1 n2 -- flag
  1592.      True if u1 is less than or equal to u2
  1593. u>       u1 n2 -- flag
  1594.      True if u1 is greater than u2
  1595. u>=       u1 n2 -- flag
  1596.      True if u1 is greater than or equal to u2
  1597. ualloc       size -- new-user-number
  1598.      Allocates space in the USER area
  1599. um*       u1 u2 -- ud
  1600.      unsigned times unsigned multiply, result has 64 bits
  1601. um/mod       ud.dividend un.divisor -- un.rem un.quot
  1602.      Unsigned 64/ ; normal remainder/quotient
  1603. umax       u1 u2 -- u3
  1604.      Unsigned maximum
  1605. umin       u1 u2 -- u3
  1606.      Unsigned minimum
  1607. unaligned-!       addr -- n
  1608.      Store to an unaligned address
  1609. unaligned-@       addr -- n
  1610.      Fetch from an unaligned address
  1611. unnest       --
  1612.      Returns from a colon definition
  1613. until       flag --
  1614.      Continues executing a BEGIN .. UNTIL loop until flag is true
  1615. up       --
  1616.      Moves the cursor up one line
  1617. up       -- n
  1618.      portable name for the user pointer
  1619. up       -- n
  1620.      The User-area Pointer Register saved at the last breakpoint.
  1621. up!       addr --
  1622.      Changes the starting address of the USER area
  1623. up0       -- addr
  1624.      User variable containing the starting address of the USER area
  1625. up@       -- adr
  1626.      The address of the user area for the current task
  1627. upc       char -- upper-case-char
  1628.      Converts char to upper case
  1629. update       --
  1630.      Marks a mass storage buffer as modified; Implemented in extend.block
  1631. upper       addr len --
  1632.      Converts a character array to upper case
  1633. user       offset --      name
  1634.      Defines a variable at the given offset in the USER area
  1635. user-size       -- n
  1636.      The size in bytes of the USER area.
  1637. user-size       -- u
  1638.      A good size for the user area for a new task
  1639. value       n --       name
  1640.      Defines a value
  1641. variable       --      name
  1642.      Defines a variable
  1643. vfind       pstr voc-ptr -- acf 1 | acf -1 | pstr false
  1644.      Searches for a word in a single vocabulary
  1645. voc-link       -- addr
  1646.      USER variable containing the address of the last vocabulary created
  1647. voc>       voc-alf -- voc-acf
  1648.      Converts vocabulary link address to compilation address
  1649. vocabulary       --      name
  1650.      Defines a new vocabulary
  1651. vocs       --
  1652.      Displays the names of all vocabularies in the system
  1653. wait       n task --
  1654.      Make another task waiting for n ms
  1655. wake       task --
  1656.      Make another task start running
  1657. warm       --
  1658.      Restarts Forth after a hardware exception
  1659. warm-hook       --
  1660.      Place to install a user-defined handler for hardware exceptions
  1661. warning       -- addr
  1662.      USER variable controlling "isn't Unique" messages
  1663. wflip       n1 -- n2
  1664.      Swaps the 16-bit halves of a 32-bit cell
  1665. whatis       --      name
  1666.      Displays a brief description of the named word
  1667. where       --
  1668.      Prints a message telling where in the input stream you are
  1669. whereis       --       xxx-name
  1670.      Tells the vocabulary of word xxx-name
  1671. while       flag  --
  1672.      Continues execution of begin .. while .. repeat loop while flag is true
  1673. why       --
  1674.      Tell the reason for the last OS error
  1675. within       n min max -- f
  1676.      True if min <= n < max
  1677. wljoin       w.low w.high -- n
  1678.      Joins two 16-bit words to form a /cell
  1679. word       char -- pstr
  1680.      Collects a char-delimited string from the input stream
  1681. word-bounds       acf -- apf addr
  1682.      Finds the start and end of a colon definition's body
  1683. word-type       acf -- n
  1684.      give a word-type identifier
  1685. words       --
  1686.      Displays the words in the context vocabulary
  1687. write       -- n
  1688.      The number signifying to open that the file is to be written
  1689. write-open       filename-pstr --
  1690.      Opens the file for writing, storing its file descriptor in ofd
  1691. writing       --      filename
  1692.      Creates a new file and open it for writing, descriptor in OFD
  1693. xor       n1 n2 -- n3
  1694.      Exclusive or
  1695.